// page/Home/home.js
const app=getApp()


Page({
 
  /**
   * 页面的初始数据
   */
 data: {
    background: ['demo-text-1', 'demo-text-2', 'demo-text-3'],
    indicatorDots: true,
    vertical: false,
    autoplay: true,
    interval: 5000,
    duration: 500,
    banners:[],
    classify:[],
    news:[],
    tuijian:[],
    newsindex:0,
    shangla:1,
    total:0,
    st:0,
    transform:'transform 1s'
  },
//分类图片及文字加载
  getFenlei(){
    return new Promise((resolve,reject)=>{
      wx.$https.get('/index/categorys').then((res)=>{
        this.setData({
          classify:res
        })
        resolve()
      })
    })
  
  },
//开头轮播图图片加载
  getBanners(){
    return new Promise((resolve,reject)=>{
      wx.$https.get('/index/banners').then((res)=>{
        this.setData({
          banners:res
        })
        resolve()
      })

  })
 },  
    // let timer=setTimeout(()=>{
    //   let banners=[
    //     {
    //       id:1,
    //       img:'../../image/mmex@2x.png',
    //       path:''
    //     },
    //     {
    //       id:2,
    //       img:'../../image/mmex@2x.png',
    //       path:''
    //     },
    //     {
    //       id:3,
    //       img:'../../image/mmex@2x.png',
    //       path:''
    //     }
    //   ]
    //   this.setData({
    //     banners
    //   })
    // },1000)
 
//新闻轮播，，一共有两个新闻的循环，假设最初新闻有2条，就需要复制一次将其变为4条才能实现动画轮播（动画的帧数限制）
lunbo(){
  setInterval(() => {
    let newsindex1 = this.data.newsindex//轮播新闻角标的定义
    let lunbonews = this.data.st
    newsindex1++
    lunbonews=lunbonews-42//轮播新闻的位置

    this.setData({//新闻切换到下一个新闻之间的持续时间
      transform:'transform 1s',
      newsindex:newsindex1,
      st:lunbonews
    })
    if(newsindex1==2){//角标为2时，新闻轮播到第3条（总长度为4条），进行时间块的变化（变化时长为1s），直接跳转到第一条（下标为0）的新闻内容
      setTimeout(() => {
        this.setData({
          transform:'',
          st:0,
          newsindex:0
        })
      }, 1000);
    }
  }, 2000);//整个函数中每个数据的运行时间为2s（2000ms）
},

//新闻轮播调用
  getNews(){
    return new Promise((resolve,reject)=>{
      wx.$https.get('/index/news').then((res)=>{
        this.setData({
          news:res
        })
        this.lunbo()
        resolve()
      })
    })
  
},
    // let timer = setTimeout(()=>{
    //   let news =[
    //     {
    //       id:1,
    //       title:'wuyu'
    //     },
    //     {
    //       id:2,
    //       title:'112345'
    //     }
    //   ]
    //   this.setData(
    //     {news}
    //   )
    //   this.lunbo()
    // },1000)

//为你推荐的内容
  tuijian(){
    return new Promise((resolve,reject)=>{
      wx.$https.get(('/index/recommends'),{pageNum:this.data.shangla}).then((res)=>{
        this.setData({
          tuijian:this.data.tuijian.concat(res.rows),
          total:res.total
        })
        resolve()
      })
    })

},

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options){

    Promise.all([this.getNews(),this.getBanners(),this.getFenlei(),this.tuijian()]).then(()=>{
      console.log('所有数据加载完成')
    })

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },
  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {
    this.data.shangla=1
    this.data.tuijian=[]
    Promise.all([this.getNews(),this.getBanners(),this.getFenlei(),this.tuijian()]).then(()=>{
      wx.stopPullDownRefresh()
    }).catch(()=>{
      wx.stopPullDownRefresh()
    })

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
    if(this.data.total>this.data.tuijian.length){
      this.data.shangla++
      this.tuijian()
    }
    
    
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})